<?php

if (isset ($_GET["SID"])){
    session_id($_GET["SID"]);
    session_start();
}else{
    session_start();
}

require './app/config.php';

// Se a variavel acao nao existe finalizo o script
if (!isset($_GET["action"])) {
        exit();
}

// Para cada acao possivel para um perfil devo fazer os includes das funcoes necessarias
try{
    
    if(!isset ($_SESSION["perfil"])){
        switch ($_GET["action"]) {
            case "valida_cadastro":
                include $path_visitante.'action_cliente_valida_cadastro.php';
                break;
            default:
                echo "<b>Pagina nao encontrada</b>";
                break;
        }

    }else if ($_SESSION["perfil"] == "administrador"){
        switch ($_GET["action"]) {
            case "logout":
                include $app.'action_logout.php';
                break;
            case "usuario_altera_senha":
                include $path_administrador.'action_usuario_altera_senha.php';
                break;
            case "usuario_altera_logo":
                include $path_administrador.'action_usuario_altera_logo.php';
                break;
            case "usuario_altera_status":
                include $path_administrador.'action_usuario_altera_status.php';
                break;
            case "ajax_cliente_consulta":
                include $path_administrador.'ajax_cliente_consulta.php';
                break;
            case "ajax_carga_consulta":
                include $path_administrador.'ajax_carga_consulta.php';
                break;
            case "ajax_carga_finaliza":
                include $path_administrador.'ajax_carga_finaliza.php';
                break;
            case "ajax_carga_prorroga":
                include $path_administrador.'ajax_carga_prorroga.php';
                break;
            case "ajax_carga_exclui":
                include $path_administrador.'ajax_carga_exclui.php';
                break;
            case "ajax_geo_consulta":
                include $path_administrador.'ajax_geo_consulta.php';
                break;
            case "cliente_cadastra":
                include $path_administrador.'action_cliente_cadastra.php';
                break;
            case "cliente_altera":
                include $path_administrador.'action_cliente_altera.php';
                break;
            case "carga_cadastra":
                include $path_administrador.'action_carga_cadastra.php';
                break;
            case "carga_altera":
                include $path_administrador.'action_carga_altera.php';
                break;
            case "localidade_cadastra":
                include $path_administrador.'action_localidade_cadastra.php';
                break;
            case "localidade_altera":
                include $path_administrador.'action_localidade_altera.php';
                break;
            case "administrador_altera_senha":
                include $path_administrador.'action_administrador_altera_senha.php';
                break;
            case "email_envia":
                include $app.'action_email_envia.php';
                break;
            case "ajax_localidade_consulta":
                include $path_administrador.'ajax_localidade_consulta.php';
                break;
            default:
                echo "<b>Pagina nao encontrada</b>";
                break;
        } 
    }else if ($_SESSION["perfil"] == "cliente"){
        switch ($_GET["action"]) {
            case "logout":
                include $app.'action_logout.php';
                break;
            case "cliente_altera":
                include $path_cliente.'action_cliente_altera.php';
                break;
            case "carga_cadastra":
                include $path_cliente.'action_carga_cadastra.php';
                break;
            case "carga_altera":
                include $path_cliente.'action_carga_altera.php';
                break;
            case "ajax_carga_finaliza":
                include $path_cliente.'ajax_carga_finaliza.php';
                break;
            case "ajax_carga_prorroga":
                include $path_cliente.'ajax_carga_prorroga.php';
                break;
            case "ajax_carga_exclui":
                include $path_cliente.'ajax_carga_exclui.php';
                break;
            case "ajax_carga_consulta":
                include $path_cliente.'ajax_carga_consulta.php';
                break;
            case "usuario_altera_senha":
                include $path_cliente.'action_usuario_altera_senha.php';
                break;
            case "usuario_altera_logo":
                include $path_cliente.'action_usuario_altera_logo.php';
                break;
            case "email_envia":
                include $app.'action_email_envia.php';
                break;
            default:
                echo "<b>Pagina nao encontrada</b>";
                break;
        }


    }else if ($_SESSION["perfil"] == "visitante"){
        switch ($_GET["action"]) {
            case "cadastra":
                include $path_visitante.'action_cliente_cadastra.php';
                break;
            case "reenvia_email":
                include $path_visitante.'action_cliente_reenvia_email.php';
                break;
            case "login":
                include $app.'action_login.php';
                break;
            case "valida_cadastro":
                include $path_visitante.'action_cliente_valida_cadastro.php';
                break;
            case "email_envia":
                include $app.'action_email_envia.php';
                break;
            default:
                echo "<b>Pagina nao encontrada</b>";
                break;
        }
    }

}catch (Exception $e){
    if (DEBUG){
        echo "Erro Inesperado:<br/> ";
        throw $e;
    }  else {
        $_SESSION["mensagem"] = $e->getMessage();
        header("Location: index.php");
    }
    exit;
}

function trataErro($errorMessage) {
    if (DEBUG){
        echo "Erro: ".$errorMessage;
    }  else {
        $_SESSION["mensagem"] = $errorMessage;
        header("Location: index.php");
    }
    exit;
}

?>